草庐IT

c++ - std::make_array 的当前状态

全部标签

c - 如何为 Win32 应用程序启用工具栏的现代外观?

最近开始学习基于Win32API的GUI编程。当我将工具栏控件(来自comctl32.lib)添加到我的简单应用程序时,我发现它看起来很平坦,而菜单栏具有更多“Windows7友好”的3D外观和感觉(顶部的白色发光和从上到下的垂直灰色渐变)。差异使它看起来有线。但是,我发现许多其他应用程序的菜单栏和工具栏具有一致的外观。例如。Notepad++和Notepad2.看了一些官方文档,尝试了解决方案,比如VisualStylesOverview,EnablingVisualStyles但是,它只启用平面按钮样式(与旧的Win98实心按钮样式相比)。这与我在第一张图片中获得的样式没有任何区别

windows - Eclipse CDT -- 找不到程序 "make"(已安装 win7、mingw、msys)

我在Windows7上运行带有CDT的EclipseJuno。已经用msys安装了MinGW并设置了我的PATH。如果我只运行cmd.exe并键入make,它会运行msysmake.exe:C:\Users\dev>makemake:***Notargetsspecifiedandnomakefilefound.Stop.C:\Users\dev>echo%PATH%C:\ProgramFiles(x86)\WindowsResourceKits\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Wind

c++ - 用于构建 boost : "don' t know how to make <e>stage"的“阶段”参数

我正在尝试在Windows7(版本6.1.7601)上安装boostv.1.54。安装了带mingw、gcc和g++编译器的cygwin。我需要使用“stage”参数来构建boost;但是它会产生以下错误:C:\boost\tools\build\v2>b2--prefix="C:\boost_build"toolset=gcc--buildtype=completegccstagenotice:couldnotfindmaintargetstagenotice:assumingitisanameoffiletocreate.don'tknowhowtomakestage...foun

c++ - 如何测试主存访问时间?

寻找一个C/C++程序来测试访问一block固定内存需要多长时间,特别是在RAM中。如何确保测试访问时间不是缓存或TLB数据?例如,我可以“禁用”所有缓存/TLB吗?或者我可以在RAM中指定一个特定的地址来只写/只读吗?另一方面,我如何确保我只测试缓存?有没有办法告诉编译器在哪里保存和读取,缓存/内存?例如,这个测试是否有一个众所周知的标准程序(inoneofthesebooks?)?我确实看到了这个但是我不明白如何调整列表的大小,你可以控制内存访问是命中一级缓存,二级缓存还是主内存:measuringlatenciesofmemory如何正确编写此测试程序?

c++ - 我如何读取小型转储?

我通过以下方式将小型转储写入文件:MiniDumpWriteDump.该文件是从客户端发送给我的(即我不能使用某种即时调试器)。我的问题是:如何打开它?VisualStudio给出错误:“不支持调试旧格式故障转储。”我用谷歌搜索,发现人们正在用visualstudio打开内核转储。这不是内核转储,只是应用程序崩溃的转储。我也试过用WinDbg打开它,但那也无法打开它。我怎样才能得到这些信息? 最佳答案 工具:http://technet.microsoft.com/el-gr/sysinternals/dd996900.aspx您在

c++ - 如何使用 win32 从多线程上下文初始化线程原语?

我想创建一个静态锁voidfoo(){staticCRITICAL_SECTION*lock=NULL;//thisistheproblem,Icannotcreateanyprimitivetodothiswithwin32threadsstaticlongisInitialized=0;if(InterlockedExchange(&isInitialized,1)==0){//thiswillensurethatlockisinitializedonlyoncelock=(CRITICAL_SECTION*)malloc(sizeof(CRITICAL_SECTION));Ini

c - 编写带有更新的 Windows 程序,权限问题

我想创建一个程序Foo.exe登录时出错foo.log.该程序已安装(NSIS安装程序)到C:\ProgramFiles(x86)\Foo\中.在安装过程中,NSIS添加了一个快捷方式(CreateShortCut"$SMSTARTUP\Foo.lnk""$INSTDIR\Foo.exe")来启动Foo.exe当Windows启动时。当Windows在启动后执行我的程序时,它以“非管理权限”启动我的程序。所以我的程序不能编辑C:\ProgramFiles(x86)\Foo\foo.log.解决方法是将可编辑文件存储在另一个目录中,例如在$APPDATA.但真正的问题来了:我在我的程序中

c++ - 我的 "out of the box"程序在哪里可以在 Windows 中可靠地创建目录?

例如,如果我的程序尝试使用CreateDirectory()创建一个目录在C:\ProgramFiles(x86)\[installdirectory]\中,会因为权限问题而失败。我听说理想的位置是C:\Users\[username]\AppData\Local\,但是还有其他“安全”位置吗?当然,它可能会因Windows版本而异。 最佳答案 C:\ProgramData是其他常用的位置。下面这个很有帮助,http://blogs.msdn.com/b/cjacks/archive/2008/02/05/where-should-

c++ - 使用平假名将 std::wstring 转换为 QString

我正在尝试将包含平假名的文本从wstring转换为QString,以便它可以用于标签的文本属性。但是,我的代码无法正常工作,我不确定这是为什么。下面的转换方式明显告诉我我做错了:std::wstringmyWString=L"SomeHiragana:あいうえお";ui->label->setText(QString::fromStdWString(myWString));输出:一些平假名:ã‚ã„ã†ãˆãŠ如果我直接把它们放在字符串中,我可以在标签上打印平假名:ui->label->setText("SomeHiragana:あいうえお");输出:一些平假名:あいうえお这意味着我可

windows - 确定当前是否在 Windows 资源管理器中重命名文件

我正在尝试检查Windows资源管理器View以查看当前是否在键入时重命名/编辑文件名。我安装了一个系统Hook,用于监视键盘的特定击键并触发特定事件。这是以这种方式完成的:如果键盘Hook发现按下的键,它会向另一个线程发送消息并继续处理其他系统Hook。其他线程接收消息并检查资源管理器窗口是否处于事件状态并获取IFolderView2的接口(interface)。调用IFolderView2::GetFocusedItem()以获取文件夹View中的焦点项目。使用IFolderView2::GetSelectionState()检查焦点项目是否正在重命名/是否处于编辑模式(SVSI_